Ansible-এ Static এবং Dynamic ইনভেন্টরি দুটি ভিন্ন পদ্ধতি ব্যবহার করে হোস্টের তালিকা সংরক্ষণ করা হয়। ইনভেন্টরি হলো এমন একটি ফাইল বা সোর্স, যা Ansible-কে বলে দেয় কোন হোস্টগুলোতে কাজ করতে হবে। চলুন, এদের বিস্তারিত ব্যাখ্যা করা যাক।
Static Inventory হলো একটি সাধারণ টেক্সট ফাইল (সাধারণত hosts
নামে), যেখানে সার্ভারের তথ্য স্ট্যাটিক আকারে লেখা থাকে। এই ইনভেন্টরিটি .ini
বা .yaml
ফরম্যাটে থাকতে পারে।
উদাহরণ: (INI ফরম্যাটে hosts
ফাইল)
[webservers]
web1.example.com
web2.example.com
[dbservers]
db1.example.com
db2.example.com
এখানে:
[webservers]
এবং [dbservers]
হলো গ্রুপ, যেগুলোতে একাধিক হোস্ট (যেমন web1.example.com
) যুক্ত করা হয়েছে।Static Inventory-এর সুবিধা:
Static Inventory-এর অসুবিধা:
Dynamic Inventory একটি স্ক্রিপ্ট বা প্রোগ্রাম যা Ansible-কে রিয়েল-টাইমে হোস্টের তথ্য সরবরাহ করে। সাধারণত বড় এবং পরিবর্তনশীল পরিবেশের জন্য এটি ব্যবহার করা হয়, যেমন AWS, GCP, Azure-এর মতো ক্লাউড প্ল্যাটফর্মে যেখানে সার্ভারের সংখ্যা প্রায়ই পরিবর্তিত হয়।
উদাহরণ: (AWS EC2 এর জন্য ডাইনামিক ইনভেন্টরি) ec2.py
নামে একটি স্ক্রিপ্ট ব্যবহার করে Ansible EC2 ইনস্ট্যান্সের তালিকা নিতে পারে। এই স্ক্রিপ্টটি AWS API থেকে তথ্য নিয়ে ইনভেন্টরি তৈরি করে।
Dynamic Inventory-এর সুবিধা:
Dynamic Inventory-এর অসুবিধা:
ansible.cfg
ফাইলের মাধ্যমে কনফিগার করা যায়:
[defaults]
inventory = ./ec2.py
AWS এর Dynamic Inventory প্লাগইন কনফিগার করা উদাহরণ: (YAML ফাইলের মাধ্যমে)
plugin: aws_ec2
regions:
- us-east-1
filters:
tag:Name: webserver
keyed_groups:
- key: tags.Name
prefix: tag
এখানে:
plugin: aws_ec2
ব্যবহার করে AWS-এর ইনভেন্টরি প্লাগইন সক্রিয় করা হয়েছে।যদি কোনো নির্দিষ্ট Dynamic Inventory সেটআপ বা স্ট্যাটিক ইনভেন্টরির কনফিগারেশন নিয়ে আরও বিস্তারিত জানার প্রয়োজন হয়, আমাকে জানাতে পারেন!
আরও দেখুন...